package com.ruoyi.business.mapper;

import java.util.List;
import com.ruoyi.business.domain.CategoryAttribute;
import com.ruoyi.business.domain.ProductAttribute;

/**
 * 类目属性关联Mapper接口
 * 
 * @author ruoyi
 * @date 2025-03-13
 */
public interface CategoryAttributeMapper 
{
    /**
     * 查询类目属性关联
     * 
     * @param id 类目属性关联主键
     * @return 类目属性关联
     */
    public CategoryAttribute selectCategoryAttributeById(Long id);

    /**
     * 查询类目属性关联列表
     * 
     * @param categoryAttribute 类目属性关联
     * @return 类目属性关联集合
     */
    public List<CategoryAttribute> selectCategoryAttributeList(CategoryAttribute categoryAttribute);

    /**
     * 新增类目属性关联
     * 
     * @param categoryAttribute 类目属性关联
     * @return 结果
     */
    public int insertCategoryAttribute(CategoryAttribute categoryAttribute);

    /**
     * 修改类目属性关联
     * 
     * @param categoryAttribute 类目属性关联
     * @return 结果
     */
    public int updateCategoryAttribute(CategoryAttribute categoryAttribute);

    /**
     * 删除类目属性关联
     * 
     * @param id 类目属性关联主键
     * @return 结果
     */
    public int deleteCategoryAttributeById(Long id);

    /**
     * 批量删除类目属性关联
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCategoryAttributeByIds(Long[] ids);

    /**
     * 批量删除商品属性
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProductAttributeByIds(Long[] ids);
    
    /**
     * 批量新增商品属性
     * 
     * @param productAttributeList 商品属性列表
     * @return 结果
     */
    public int batchProductAttribute(List<ProductAttribute> productAttributeList);
    

    /**
     * 通过类目属性关联主键删除商品属性信息
     * 
     * @param id 类目属性关联ID
     * @return 结果
     */
    public int deleteProductAttributeById(Long id);
}
